package com.jianbing.north.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jianbing.common.annotation.Excel;

import java.io.Serializable;
import java.util.Date;

public class NorthUserRecordDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    @Excel(name = "用户ID")
    private Long userId;

    /** 得分是哪个part */
    @Excel(name = "得分是哪个part")
    private Long part;

    /** 难度 0 最简单 */
    @Excel(name = "难度 0 最简单")
    private Long difficulty;


    /** 用户得分 */
    @Excel(name = "用户得分")
    private Long fraction;

    /** 该次挑战正确个数 */
    @Excel(name = "该次挑战正确个数")
    private Long rightNum;

    /** 该挑战题目数 */
    @Excel(name = "该挑战题目数")
    private Long allNum;

    @Excel(name = "该日做题数")
    private Long times;

    @Excel(name = "连线次数")
    private Long connectNum;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "时长", width = 30, dateFormat = "HH:mm:ss")
    private Date duration;


    @Excel(name = "正确率")
    private Double accuracy;


    public Date getDate() {
        return date;
    }

    public Long getTimes() {
        return times;
    }

    public void setTimes(Long times) {
        this.times = times;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getPart() {
        return part;
    }

    public void setPart(Long part) {
        this.part = part;
    }

    public Long getDifficulty() {
        return difficulty;
    }

    public void setDifficulty(Long difficulty) {
        this.difficulty = difficulty;
    }

    public Long getFraction() {
        return fraction;
    }

    public void setFraction(Long fraction) {
        this.fraction = fraction;
    }

    public Long getRightNum() {
        return rightNum;
    }

    public void setRightNum(Long rightNum) {
        this.rightNum = rightNum;
    }

    public Long getAllNum() {
        return allNum;
    }

    public void setAllNum(Long allNum) {
        this.allNum = allNum;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getDuration() {
        return duration;
    }

    public void setDuration(Date duration) {
        this.duration = duration;
    }

    public Double getAccuracy() {
        return accuracy;
    }

    public void setAccuracy(Double accuracy) {
        this.accuracy = accuracy;
    }

    public Long getConnectNum() {
        return connectNum;
    }

    public void setConnectNum(Long connectNum) {
        this.connectNum = connectNum;
    }

    @Override
    public String toString() {
        return "NorthUserRecordDTO{" +
                "date=" + date +
                ", userId=" + userId +
                ", part=" + part +
                ", difficulty=" + difficulty +
                ", fraction=" + fraction +
                ", rightNum=" + rightNum +
                ", allNum=" + allNum +
                ", times=" + times +
                ", connectNum=" + connectNum +
                ", beginTime=" + beginTime +
                ", endTime=" + endTime +
                ", duration=" + duration +
                ", accuracy=" + accuracy +
                '}';
    }
}
